import fetch from '@system.fetch';
import router from '@system.router';
import qs from 'querystring'; //npm install qs，npm install querystring
import http from '@ohos.net.http';

var timer

export default {
    data: {
        // 折线图数据
        XLine:360,
        YLine:800,
        objLine: {
            chartZone: [50, 50, 320, 400], //图表左上角与右下角坐标数组
            yAxisLable: ['0', '5', '10', '15', '20', '25', '30'], //Y轴内容，不能有中文
//            yAxisLable: [0, 5, 10, 15, 20, 25, 30], //Y轴内容
            xtext: '训练日期', // 横纵
            ytext: '得分情况', // 纵纵
            guideLine: true, //是否存在辅助线
            dataPoint: true, //是否存在数据点
//            xAxisLable: ["", "1号", "7号", "10号", "21号", "29号"], //x轴内容
            xAxisLable: ["",], //x轴内容
//            data: [15, 16, 20, 25, 30], //数据内容
            data: [], //数据内容
            dataInfoShow: true, // 是否显示数据信息
//            dataInfo: ['2min', '3min', '4min', '3.9min'], //数据内容
            dataInfo: [], //数据内容
//            data2: [3,4,2,1,3,2],
            lineStyle: {
                line_width: 2, //数据条的宽
                color: '#1abc9c', //折线的颜色
                radius: 1 //数据点半径
            },
            axisArrow: {
                size: 2, //箭头因子大小
                color: 'black' //箭头填充色
            },
            dataStyle: {
                radius: 5,
                color: "#ee6587"
            }
        },
    },

    onInit() {
//        console.info(this.data.objLine.dataInfo)
//        for (let l in this.data.objLine.data) {
//            this.data.objLine.dataInfo.push(this.data.objLine.data[l] + '分')
//        }
//        console.info('柱状图要展示的信息：' + this.data.objLine.dataInfo)
        timer = setInterval(this.DataUpdate, 1000)
        console.info('使用折线图数据更新定时器')
    },

    onHide() {
        clearInterval(timer)
    },

    DataUpdate() {
//        fetch.fetch({
////            url: "http://127.0.0.1:8000/api/manageTrainScore/", // 路径，明文网络流量http
//            url: "http://124.71.225.45/api/manageTrainScore/", // 路径，明文网络流量http
//            data: qs.stringify({
////                'sendName': "张三",
//                'sendPatientId': "000001",
//            }),
//            //验证，转为字符串发给后台
//            responseType: "json", //请求的参数类型
//            method: "POST",
//            success: (resp) => {
//                var getresult = JSON.parse(resp.data); // 令获取到的数据赋给winfo
//                // 折线图数据更新
//                var getlinepost = []
//                for (let valuedata in getresult[0]) {
//                    getlinepost.push(getresult[0][valuedata])
//                }
//
//                this.objLine.xAxisLable = ["",]
//                console.info(this.objLine.xAxisLable.length)
//                var getxAxisLable = getlinepost.splice(0, getlinepost.length/2) // 获取前一半的值
//                console.info("接收到的x轴信息："+getxAxisLable)
//                this.objLine.xAxisLable.push.apply(this.objLine.xAxisLable, getxAxisLable)
//
//                this.objLine.data = getlinepost // 获取剩余的值
//                console.info(this.objLine.data)
//
//                console.info(typeof(this.objLine.data[0]))
//
////                this.data.objLine.xAxisLable
//
//                this.objLine.dataInfo = []
//                for (let l in this.objLine.data) {
//                    this.objLine.dataInfo.push(this.objLine.data[l] + '分')
//                }
//                console.info(this.objLine.dataInfo)
//
//            },
//            fail: (resp) => {
////                this.winfo = resp.data;
//                console.log("获取数据失败！")
//            }
//        });

        // 每一个httpRequest对应一个http请求任务，不可复用
        let httpRequest = http.createHttp();
        // 用于订阅http响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
        // 从API 8开始，使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
        httpRequest.on('headersReceive', (header) => {
            console.info('header: ' + JSON.stringify(header));
        });
        httpRequest.request(
            // 填写http请求的url地址，可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
            "http://124.71.225.45/api/manageTrainScore/",
            {
                //                method: http.RequestMethod.POST, // 可选，默认为http.RequestMethod.GET
                method: 'POST', // 可选，默认为http.RequestMethod.GET
                // 开发者根据自身业务需要添加header字段
                header: {
                    'Content-Type': 'application/json'
                },
                // 当使用POST请求时此字段用于传递内容
                extraData: {
                    //                    "data": "data to send",
                    'sendPatientId': "000001",
                },
                connectTimeout: 60000, // 可选，默认为60s
                readTimeout: 60000, // 可选，默认为60s
            }, (err, data) => {
            if (!err) {
                var getresult = JSON.parse(data.result); // 令获取到的数据赋给winfo
                // 折线图数据更新
                var getlinepost = []
                for (let valuedata in getresult[0]) {
                    getlinepost.push(getresult[0][valuedata])
                }

                this.objLine.xAxisLable = ["",]
                console.info(this.objLine.xAxisLable.length)
                var getxAxisLable = getlinepost.splice(0, getlinepost.length/2) // 获取前一半的值
                console.info("接收到的x轴信息："+getxAxisLable)
                this.objLine.xAxisLable.push.apply(this.objLine.xAxisLable, getxAxisLable)

                this.objLine.data = getlinepost // 获取剩余的值
                console.info(this.objLine.data)

                console.info(typeof(this.objLine.data[0]))

                //                this.data.objLine.xAxisLable

                this.objLine.dataInfo = []
                for (let l in this.objLine.data) {
                    this.objLine.dataInfo.push(this.objLine.data[l] + '分')
                }
                console.info(this.objLine.dataInfo)

            } else {
                console.log("获取数据失败！")

                // 当该请求使用完毕时，调用destroy方法主动销毁。
                httpRequest.destroy();
            }
        });
    },

    ToAssessment() {
        router.back()
    }
}
